<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="airquality_v1.html">Air Quality API</a> . <a href="airquality_v1.history.html">history</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#lookup">lookup(body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Returns air quality history for a specific location for a given time range.</p>
<p class="toc_element">
  <code><a href="#lookup_next">lookup_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="lookup">lookup(body=None, x__xgafv=None)</code>
  <pre>Returns air quality history for a specific location for a given time range.

Args:
  body: object, The request body.
    The object takes the form of:

{ # The request object of the air quality history API.
  &quot;customLocalAqis&quot;: [ # Optional. Expresses a &#x27;country/region to AQI&#x27; relationship. Pairs a country/region with a desired AQI so that air quality data that is required for that country/region will be displayed according to the chosen AQI. This parameter can be used to specify a non-default AQI for a given country, for example, to get the US EPA index for Canada rather than the default index for Canada.
    { # Expresses a &#x27;country/region to AQI&#x27; relationship. Pairs a country/region with a desired AQI so that air quality data that is required for that country/region will be displayed according to the chosen AQI.
      &quot;aqi&quot;: &quot;A String&quot;, # The AQI to associate the country/region with. Value should be a [valid index](/maps/documentation/air-quality/laqis) code.
      &quot;regionCode&quot;: &quot;A String&quot;, # The country/region requiring the custom AQI. Value should be provided using [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
    },
  ],
  &quot;dateTime&quot;: &quot;A String&quot;, # A timestamp for which to return historical data. The timestamp is rounded to the previous exact hour. Note: this will return hourly data for the requested timestamp only (i.e. a single hourly info element). For example, a request sent where the dateTime parameter is set to 2023-01-03T11:05:49Z will be rounded down to 2023-01-03T11:00:00Z. A timestamp in RFC3339 UTC &quot;Zulu&quot; format, with nanosecond resolution and up to nine fractional digits. Examples: &quot;2014-10-02T15:01:23Z&quot; and &quot;2014-10-02T15:01:23.045123456Z&quot;.
  &quot;extraComputations&quot;: [ # Optional. Additional features that can be optionally enabled. Specifying extra computations will result in the relevant elements and fields to be returned in the response.
    &quot;A String&quot;,
  ],
  &quot;hours&quot;: 42, # Number from 1 to 720 that indicates the hours range for the request. For example: A value of 48 will yield data from the last 48 hours.
  &quot;languageCode&quot;: &quot;A String&quot;, # Optional. Allows the client to choose the language for the response. If data cannot be provided for that language the API uses the closest match. Allowed values rely on the IETF standard. Default value is en.
  &quot;location&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # Required. The latitude and longitude for which the API looks for air quality history data.
    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
  },
  &quot;pageSize&quot;: 42, # Optional. The maximum number of hourly info records to return per page. The default is 72 and the max value is 168 (7 days of data).
  &quot;pageToken&quot;: &quot;A String&quot;, # Optional. A page token received from a previous history call. It is used to retrieve the subsequent page. Note that when providing a value for this parameter all other parameters provided must match the call that provided the page token (the previous call).
  &quot;period&quot;: { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # Indicates the start and end period for which to get the historical data. The timestamp is rounded to the previous exact hour.
    &quot;endTime&quot;: &quot;A String&quot;, # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
    &quot;startTime&quot;: &quot;A String&quot;, # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
  },
  &quot;uaqiColorPalette&quot;: &quot;A String&quot;, # Optional. Determines the color palette used for data provided by the &#x27;Universal Air Quality Index&#x27; (UAQI). This color palette is relevant just for UAQI, other AQIs have a predetermined color palette that can&#x27;t be controlled.
  &quot;universalAqi&quot;: True or False, # Optional. If set to true, the Universal AQI will be included in the &#x27;indexes&#x27; field of the response. Default value is true.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;hoursInfo&quot;: [ # Optional. Contains the air quality information for each hour in the requested range. For example, if the request is for 48 hours of history there will be 48 elements of hourly info.
    { # Contains the air quality information for each hour in the requested range. For example, if the request is for 48 hours of history there will be 48 elements of hourly info.
      &quot;dateTime&quot;: &quot;A String&quot;, # A rounded down timestamp indicating the time the data refers to in RFC3339 UTC &quot;Zulu&quot; format, with nanosecond resolution and up to nine fractional digits. For example: &quot;2014-10-02T15:00:00Z&quot;.
      &quot;healthRecommendations&quot;: { # Health recommendations for different population groups in a free text format. The recommendations are derived from their associated air quality conditions. # Health advice and recommended actions related to the reported air quality conditions. Recommendations are tailored differently for populations at risk, groups with greater sensitivities to pollutants, and the general population.
        &quot;athletes&quot;: &quot;A String&quot;, # Sports and other strenuous outdoor activities.
        &quot;children&quot;: &quot;A String&quot;, # Younger populations including children, toddlers, and babies.
        &quot;elderly&quot;: &quot;A String&quot;, # Retirees and people older than the general population.
        &quot;generalPopulation&quot;: &quot;A String&quot;, # No specific sensitivities.
        &quot;heartDiseasePopulation&quot;: &quot;A String&quot;, # Heart and circulatory system diseases.
        &quot;lungDiseasePopulation&quot;: &quot;A String&quot;, # Respiratory related problems and asthma suffers.
        &quot;pregnantWomen&quot;: &quot;A String&quot;, # Women at all stages of pregnancy.
      },
      &quot;indexes&quot;: [ # Based on the request parameters, this list will include (up to) two air quality indexes: - Universal AQI. Will be returned if the universalAqi boolean is set to true. - Local AQI. Will be returned if the LOCAL_AQI extra computation is specified.
        { # The basic object for representing different air quality metrics. When brought together, these metrics provide a snapshot about the current air quality conditions. There are multiple indexes in the world serving different purposes and groups interested in measuring different aspects of air quality.
          &quot;aqi&quot;: 42, #  The index&#x27;s numeric score. Examples: 10, 100. The value is not normalized and should only be interpreted in the context of its related air-quality index. For non-numeric indexes, this field will not be returned. Note: This field should be used for calculations, graph display, etc. For displaying the index score, you should use the AQI display field.
          &quot;aqiDisplay&quot;: &quot;A String&quot;, # Textual representation of the index numeric score, that may include prefix or suffix symbols, which usually represents the worst index score. Example: &gt;100 or 10+. Note: This field should be used when you want to display the index score. For non-numeric indexes, this field is empty.
          &quot;category&quot;: &quot;A String&quot;, # Textual classification of the index numeric score interpretation. For example: &quot;Excellent air quality&quot;.
          &quot;code&quot;: &quot;A String&quot;, # The index&#x27;s code. This field represents the index for programming purposes by using snake case instead of spaces. Examples: &quot;uaqi&quot;, &quot;fra_atmo&quot;.
          &quot;color&quot;: { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor&#x27;s `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn&#x27;t have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha &lt;= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!(&#x27;alpha&#x27; in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(&#x27;,&#x27;); return [&#x27;rgba(&#x27;, rgbParams, &#x27;,&#x27;, alphaFrac, &#x27;)&#x27;].join(&#x27;&#x27;); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = [&#x27;#&#x27;]; for (var i = 0; i &lt; missingZeros; i++) { resultBuilder.push(&#x27;0&#x27;); } resultBuilder.push(hexString); return resultBuilder.join(&#x27;&#x27;); }; // ... # The color used to represent the AQI numeric score.
            &quot;alpha&quot;: 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
            &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
            &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
            &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
          },
          &quot;displayName&quot;: &quot;A String&quot;, # A human readable representation of the index name. Example: &quot;AQI (US)&quot;
          &quot;dominantPollutant&quot;: &quot;A String&quot;, # The chemical symbol of the dominant pollutant. For example: &quot;CO&quot;.
        },
      ],
      &quot;pollutants&quot;: [ # A list of pollutants affecting the location specified in the request. Note: This field will be returned only for requests that specified one or more of the following extra computations: POLLUTANT_ADDITIONAL_INFO, DOMINANT_POLLUTANT_CONCENTRATION, POLLUTANT_CONCENTRATION.
        { # Data regarding an air quality pollutant.
          &quot;additionalInfo&quot;: { # The emission sources and health effects of a given pollutant. # Additional information about the pollutant.
            &quot;effects&quot;: &quot;A String&quot;, # Text representing the pollutant&#x27;s main health effects.
            &quot;sources&quot;: &quot;A String&quot;, # Text representing the pollutant&#x27;s main emission sources.
          },
          &quot;code&quot;: &quot;A String&quot;, # The pollutant&#x27;s code name (for example, &quot;so2&quot;). For a list of supported pollutant codes, see [Reported pollutants](/maps/documentation/air-quality/pollutants#reported_pollutants).
          &quot;concentration&quot;: { # The concentration of a given pollutant in the air. # The pollutant&#x27;s concentration level measured by one of the standard air pollutation measure units.
            &quot;units&quot;: &quot;A String&quot;, # Units for measuring this pollutant concentration.
            &quot;value&quot;: 3.14, # Value of the pollutant concentration.
          },
          &quot;displayName&quot;: &quot;A String&quot;, # The pollutant&#x27;s display name. For example: &quot;NOx&quot;.
          &quot;fullName&quot;: &quot;A String&quot;, # The pollutant&#x27;s full name. For chemical compounds, this is the IUPAC name. Example: &quot;Sulfur Dioxide&quot;. For more information about the IUPAC names table, see https://iupac.org/what-we-do/periodic-table-of-elements/.
        },
      ],
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # Optional. The token to retrieve the next page.
  &quot;regionCode&quot;: &quot;A String&quot;, # Optional. The ISO_3166-1 alpha-2 code of the country/region corresponding to the location provided in the request. This field might be omitted from the response if the location provided in the request resides in a disputed territory.
}</pre>
</div>

<div class="method">
    <code class="details" id="lookup_next">lookup_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

</body></html>